package business;

import java.awt.Color;

import persistence.db.DataSet;
import persistence.model.Salle;
import persistence.model.Seance;
import persistence.model.StatutEnseignant;

public class SeanceBL {
	
	private Seance seance = null;
	
	public SeanceBL() {

	}

	public SeanceBL(int id) {
		seance = (Seance) Seance.all().get(id);
	}

	public SeanceBL(Seance seance) {
		this.seance = seance;
	}

	/**
	 * @return retourne si la demande d'ajout ou de modification est valide ou non
	 */
	public boolean verifierValiditeModif(){
		//TODO
		return true;
	}
	
	/**
	 * @return retourne si la demande de suppression est valide ou non
	 */
	public boolean verifierValiditeSuppr(){
		//TODO
		return true;
	}
	
	/**
	 * @param id : identifiant de la seance
	 */
	public void ajouterSeance(int id, int idPeriode, int idSalle, int idService) {
		seance = new Seance(id, idPeriode, idSalle, idService);
		seance.save();
	}
	
	/**
	 * @param id : identifiant de la seance
	 */
	public void modifierSeance(int id, int idPeriode, int idSalle, int idService) {
		seance = new Seance(id, idPeriode, idSalle, idService);
		seance.save(id);
	}
	
	/**
	 * @param id : identifiant de la seance
	 */
	public void supprimerSeance() {
		seance = new Seance(this.getId());
		seance.delete();
	}
	
	/* Ensemble des getters et setters -> delegation vers la persistance */
	
	public int getId() {
		return seance.getId();
	}

	public void setId(int id) {
		seance.setId(id);
	}

	public int getIdPeriode() {
		return seance.getIdPeriode();
	}

	public int getIdSalle() {
		return seance.getIdSalle();
	}

	public int getIdService() {
		return seance.getIdService();
	}
	
	public Color getCouleur() {
		return seance.getService().getSEE().getMatiere().getCouleur();
	}
	
	public String getNom() {
		return seance.getService().getSEE().getMatiere().getNomMatiere();
	}
	
	//public String getNom() {
		//return seance.getService().getSEE().get;
	//}
	
	public String getNomProf() {
		return seance.getService().getEnseignant().getNomEnseignant();
	}
	
	public String getNomGroupe() {
		return seance.getService().getGroupe().getNomGroupe();
	}
	
	public String getNomSalle() {
		return seance.getSalle().getNomSalle();
	}

	public String getNomAnneeEtude() {
		return seance.getService().getSEE().getMatiere().getUE().getSemestre().getAnneeEtude().getNomAnneeEtude();
	}

}
